package avicit.bdp.dgs.standard.dao;

import avicit.bdp.common.base.BaseDAO;
import avicit.bdp.dgs.standard.dto.LookupTableValueDto;
import com.github.pagehelper.Page;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author mayi
 * 码表代码表数据操作层
 */
@Repository
public interface LookupTableValueDao extends BaseDAO<LookupTableValueDto> {


	/**
	 * 批量保存
	 *
	 * @param list 保存列表
	 */
	void batchSave(List<LookupTableValueDto> list);

	/**
	 * 根据码表主键删除
	 *
	 * @param lookupTableId 码表主键
	 */
	void deleteByLookupTableId(@Param("lookupTableId") String lookupTableId);

	/**
	 * 根据码表主键查询列表
	 *
	 * @param lookupTableId 码表主键
	 * @return 查询列表
	 */
	List<LookupTableValueDto> selectListByLookupTableId(@Param("lookupTableId") String lookupTableId);

	/**
	 * 查询分页列表
	 *
	 * @param lookupTableId 码表ID
	 * @param keyWords      查询关键词
	 * @return 分页列表
	 */
	Page<LookupTableValueDto> getPageList(@Param("lookupTableId") String lookupTableId,
										  @Param("keyWords") String keyWords);

    List<String> getValueList(@Param("lookupTableId") String lookupTableId);
}
